package com.ruoyi.pingjiao.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Arrays;
import java.util.List;

/**
 * 上课班级管理对象 courseclass
 * 
 * @author 胡浩鹏
 * @date 2022-10-20
 */
public class Courseclass extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 上课班级id */
    private Long courseclassId;

    /** 上课班级班号 */
    @Excel(name = "上课班级班号")
    private String courseclassNo;

    /** 课程id */
    @Excel(name = "课程id")
    private Long courseId;

    /** 学期 */
    @Excel(name = "学期")
    private String term;

    /** 分数 */
    @Excel(name = "分数")
    private String courseclassScore;

    /** 评教状态 */
    @Excel(name = "评教状态")
    private String courseclassState;

    /** 状态 */
    private String status;

    /** 是否删除 */
    private String delFlag;

    public Integer getStuNum() {
        return stuNum;
    }

    public void setStuNum(Integer stuNum) {
        this.stuNum = stuNum;
    }

    public Integer getDoneNum() {
        return doneNum;
    }

    public void setDoneNum(Integer doneNum) {
        this.doneNum = doneNum;
    }

    private Integer stuNum;

    private Integer doneNum;

    public Float getVotingRate() {
        return votingRate;
    }

    public void setVotingRate(Float votingRate) {
        this.votingRate = votingRate;
    }

    private Float votingRate;

    private Long deptId;

    private String deptName;

    private String courseName;

    private String courseType;

    private Course course;

    private Teacher teacher;

    private Student student;

    private Metaclass metaclass;

    private List<Teacher> teacherList;

    private List<Student> studentList;

    private List<Metaclass> metaclassList;

    private Long[] meataclassId;

    public Courseclass() {
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Metaclass getMetaclass() {
        return metaclass;
    }

    public void setMetaclass(Metaclass metaclass) {
        this.metaclass = metaclass;
    }

    public void setCourseclassId(Long courseclassId)
    {
        this.courseclassId = courseclassId;
    }

    public Long getCourseclassId() 
    {
        return courseclassId;
    }
    public void setCourseclassNo(String courseclassNo) 
    {
        this.courseclassNo = courseclassNo;
    }

    public String getCourseclassNo() 
    {
        return courseclassNo;
    }
    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }
    public void setTerm(String term) 
    {
        this.term = term;
    }

    public String getTerm() 
    {
        return term;
    }
    public void setCourseclassScore(String courseclassScore) 
    {
        this.courseclassScore = courseclassScore;
    }

    public String getCourseclassScore() 
    {
        return courseclassScore;
    }
    public void setCourseclassState(String courseclassState) 
    {
        this.courseclassState = courseclassState;
    }

    public String getCourseclassState() 
    {
        return courseclassState;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public String getCourseType() {
        return courseType;
    }

    public void setCourseType(String courseType) {
        this.courseType = courseType;
    }


    public Course getCourse() {
        return course;
    }

    public void setCourse(Course course) {
        this.course = course;
    }

    public Teacher getTeacher() {
        return teacher;
    }

    public void setTeacher(Teacher teacher) {
        this.teacher = teacher;
    }

    public List<Teacher> getTeacherList() {
        return teacherList;
    }

    public void setTeacherList(List<Teacher> teacherList) {
        this.teacherList = teacherList;
    }

    public List<Student> getStudentList() {
        return studentList;
    }

    public void setStudentList(List<Student> studentList) {
        this.studentList = studentList;
    }

    public List<Metaclass> getMetaclassList() {
        return metaclassList;
    }

    public void setMetaclassList(List<Metaclass> metaclassList) {
        this.metaclassList = metaclassList;
    }

    public Student getStudent() {
        return student;
    }

    public void setStudent(Student student) {
        this.student = student;
    }

    /*
    @Override
    public boolean
     equals(Object o) {
        if (!(o instanceof Courseclass)){
            return false;
        }
        Courseclass courseclass = (Courseclass) o;
        if (this == courseclass){
            return true;
        }
        return courseclass.courseclassId.equals(this.courseclassId) &&
                courseclass.courseclassNo.equals(this.courseclassNo) &&
                courseclass.course.getCourseNo().equals(this.course.getCourseNo()) &&
                courseclass.course.getCourseName().equals(this.course.getCourseName())&&
                courseclass.teacher.getTeacherNo().equals(this.teacher.getTeacherNo())&&
                courseclass.teacher.getRealName().equals(this.teacher.getRealName())
                ;
    }

    @Override
    public int hashCode() {
        return courseclassId.hashCode() +
                courseclassNo.hashCode() +
                course.getCourseName().hashCode()+
                teacher.getRealName().hashCode();
    }
 */

    @Override
    public String toString() {
        return "Courseclass{" +
                "courseclassId=" + courseclassId +
                ", courseclassNo='" + courseclassNo + '\'' +
                ", courseId=" + courseId +
                ", term='" + term + '\'' +
                ", courseclassScore='" + courseclassScore + '\'' +
                ", courseclassState='" + courseclassState + '\'' +
                ", status='" + status + '\'' +
                ", delFlag='" + delFlag + '\'' +
                ", stuNum=" + stuNum +
                ", doneNum=" + doneNum +
                ", votingRate=" + votingRate +
                ", deptId=" + deptId +
                ", deptName='" + deptName + '\'' +
                ", courseName='" + courseName + '\'' +
                ", courseType='" + courseType + '\'' +
                ", course=" + course +
                ", teacher=" + teacher +
                ", student=" + student +
                ", metaclass=" + metaclass +
                ", teacherList=" + teacherList +
                ", studentList=" + studentList +
                ", metaclassList=" + metaclassList +
                ", meataclassId=" + Arrays.toString(meataclassId) +
                '}';
    }

    public Long[] getMeataclassId() {
        return meataclassId;
    }

    public void setMeataclassId(Long[] meataclassId) {
        this.meataclassId = meataclassId;
    }
}
